package com.reservation.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CancellationRequests implements Serializable {

    private static final long serialVersionUID = 1L;

    // 取消申请ID
    private Long id;

    // 预订ID (关联预订订单表)
    private Long bookingId;

    // 客户ID
    private Long customerId;

    // 申请取消时间
    private LocalDateTime requestTime;

    // 取消原因 (客户填写,可选)
    private String reason;

    // 退款比例
    private BigDecimal refundPercentage;

    // 应退款金额
    private BigDecimal refundAmount;

    // 审核状态: PENDING_APPROVAL, APPROVED_REFUNDED, REJECTED
    private String status;

    // 处理员工ID
    private Long processedByEmployeeId;

    // 处理时间
    private LocalDateTime processedAt;

    // 员工处理备注
    private String employeeNotes;

    // 创建时间
    private LocalDateTime createTime;

    // 更新时间
    private LocalDateTime updateTime;
}
